/* 
* Programa que calcula el factorial de un numero
*
* Proyecto Traductores: Lenguaje C-
*/

entero factorial(entero x){
	
	/* Paso de recursividad */
	si (x > 1)
		regresa x * factorial(x - 1);
	
	/* 
	* Paso base 
	* factorial(1) = 1
	*/
	sino
		regresa 1;
}

vacio principal(){
   
    entero x;
    x = lee();
   
    si(x > 0){
    	    
    	imprime("Factorial de ");
    	imprime(x);
    	imprime(" = ");
    	imprime(factorial(x));    	
    }
    
    imprime("Fin del programa");
}  